@using Seal.Model;
@{
    ReportViewTemplate Template = Model;

    //Template Name
    Template.Name = ReportViewTemplate.ContainerName;
    Template.Description = "A Bootstrap container (refer to Bootstrap 3 grid at https://getbootstrap.com/docs/3.4/css/#grid)";

    //If true, the view can be configured for a report model
    Template.ForReportModel = false;

    //Parameters for this template
    Template.Parameters.Add(new Parameter()
    {
        Name = "grid_layout",
        Type = ViewParameterType.Text,
        TextValue = "",
        DisplayName = "Layout",
        Description = "Defines the rows and the columns used for the child views. It follows the Bootstrap 3 Grid Model (refer to https://getbootstrap.com/docs/3.4/css/#grid). One row is defined per line, columns are separated by semi-column, one child view is used per cell sequentially unless the definition is under brackets '()'.",
        TextSamples = new string[] {
"col-sm-6;col-sm-6;|Row 1 with 2 columns same width" ,
"col-sm-4;col-sm-4;col-sm-4;|Row 1 with 3 columns same width" ,
"col-sm-6;col-sm-6;\r\ncol-sm-12;|Row 1 with 2 columns same width\r\nRow 2 with 1 column full width" ,
"col-sm-8;col-sm-4;\r\ncol-sm-3;col-sm-3;col-sm-3;col-sm-3\r\ncol-sm-12;|Row 1 with 1 column width 8 and 1 column width 4\r\nRow 2 with 4 columns\r\nRow 3 with 1 column full width" ,
"col-xs-9 col-sm-7;col-xs-3 col-sm-5\r\ncol-xs-6 col-sm-4;col-xs-6 col-sm-8;|Row 1 with 2 columns having width 9 and 3 for phones / width 7 and 5 for tablets\r\nRow 2 with 2 columns having width 6 and 6 for phones/ width 4 and 8 for tablets" ,
"col-xs-12 col-sm-8;col-xs-12 col-sm-8;col-sm-12;|Row 1 with 1 column having width 12 for phones or 8 for other devices\r\nRow 2 with 1 column having width 12 for phones or 8 for other devices\r\nRow 3 with 1 column full width" ,
"col-xs-5 col-sm-6 col-md-7 col-lg-8;col-xs-7 col-sm-6 col-md-5 col-lg-4;|Row 1 with 2 columns having width 5 and 7 for phones / 6 and 6 for tablets / 7 and 5 for small laptops / 8 and 4 for desktops" ,
"col-sm-6 left;col-sm-6 right;|Row 1 with 2 columns same width, border aligned" ,
"(col-sm-4);col-sm-4;(col-sm-4);|Row 1 centered" ,
"(col-sm-9);col-sm-3 right;|Row 1 for one child view right aligned"
}
    });
    Template.Parameters.Add(new Parameter()
    {
        Name = "grid_layout_print",
        Type = ViewParameterType.Text,
        TextValue = "",
        DisplayName = "Layout for the HTML Print result",
        Description = "Layout used when generating the HTML Print result. Typically Restrictions Views may be hidden as they will be empty. It follows the 'Grid layout' definition.",
        TextSamples = new string[] {
"col-sm-0;col-sm-12;|Hide the first view if it contains the restrictions"
}
    });
    Template.Parameters.Add(new Parameter() { Name = "grid_cell_css", DisplayName = "Cell CSS Style", Description = "CSS style attribute of a cell.", Enums = new string[] { "border: 2px solid blue;", "font-size: 10px;" }, UseOnlyEnumValues = false });
    Template.Parameters.Add(new Parameter() { Name = "grid_cell_class", DisplayName = "Cell additional CSS Class", Description = "Additional CSS class attribute of a cell.", Enums = new string[] { "text-center", "bg-success", "bg-danger" }, UseOnlyEnumValues = false });
    Template.Parameters.Add(new Parameter() { Name = Parameter.ForceRefreshParameter, DisplayName = "View Restrictions: Force refresh", BoolValue = false, Description = "If true, the view will be parsed when a View Restriction triggers an execution." });

    //Allowed template parent names
    Template.ParentNames = new List<string>() { "Report", "Model", "Tab Page", "Container", "Container Grid Flex", "Widget" };
}
